]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
messageTray: update the SummaryItem's label based on Source title changes
authorJasper St. Pierre <jstpierre@mecheye.net>
Wed, 8 Jun 2011 06:27:57 +0000 (02:27 -0400)
committerJasper St. Pierre <jstpierre@mecheye.net>
Thu, 9 Jun 2011 21:07:06 +0000 (17:07 -0400)
https://bugzilla.gnome.org/show_bug.cgi?id=643513

js/ui/messageTray.js
js/ui/notificationDaemon.js
js/ui/telepathyClient.js

index a16fde550965211adc1782e5293a9f8912cf4c47..c9ca0fc997119ab4a2a21e640a09a93922bd0958 100644 (file)
@@ -893,6 +893,11 @@ Source.prototype = {
         this.isTransient = isTransient;
     },
 
+    setTitle: function(newTitle) {
+        this.title = newTitle;
+        this.emit('title-changed');
+    },
+
     // Called to create a new icon actor (of size this.ICON_SIZE).
     // Must be overridden by the subclass if you do not pass icons
     // explicitly to the Notification() constructor.
@@ -995,6 +1000,11 @@ SummaryItem.prototype = {
         this._sourceTitleBin.child = this._sourceTitle;
         this._sourceTitleBin.width = 0;
 
+        this.source.connect('title-changed',
+                            Lang.bind(this, function() {
+                                this._sourceTitle.text = source.title;
+                            }));
+
         this._sourceBox.add(this._sourceIcon, { y_fill: false });
         this._sourceBox.add(this._sourceTitleBin, { expand: true, y_fill: false });
         this.actor.child = this._sourceBox;
index 00a7d2c23b8fc54bdf40b74d2d0fb701c5f2db55..35eb58166653977042b87fb6aa0b34e79b4482fd 100644 (file)
@@ -165,8 +165,11 @@ NotificationDaemon.prototype = {
         // with a transient one from the same sender, so we
         // always create a new source object for new transient notifications
         // and never add it to this._sources .
-        if (!isForTransientNotification && this._sources[pid])
-            return this._sources[pid];
+        if (!isForTransientNotification && this._sources[pid]) {
+            let source = this._sources[pid];
+            source.setTitle(title);
+            return source;
+        }
 
         let source = new Source(title, pid);
         source.setTransient(isForTransientNotification);
index a87ab2ef3869516857e10672629748bd555597b0..ba6113d8f5e5d5b61feae0d5d3b7782c6cfb2683 100644 (file)
@@ -241,7 +241,7 @@ Source.prototype = {
 
     _updateAlias: function() {
         let oldAlias = this.title;
-        this.title = this._contact.get_alias();
+        this.setTitle(this._contact.get_alias());
         this._notification.appendAliasChange(oldAlias, this.title);
         this.pushNotification(this._notification);
     },